﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using RCA1._0.DAL_WS;

namespace RCA1._0
{
    public partial class NganhNgheKinhDoanh : Form
    {
        public NganhNgheKinhDoanh()
        {
            InitializeComponent();
        }

        private DAL_WSSoapClient wsDAL = new DAL_WSSoapClient();

        private NganhNgheKinhDoanhDTO NNKDoanh = new NganhNgheKinhDoanhDTO();
        private NganhNgheKinhDoanhDTO nganhNgheKinhDoanhSua = new NganhNgheKinhDoanhDTO();
        private List<NganhNgheKinhDoanhDTO> dSachNNKDoanh = null;


        public CONGTYDTO congTy;

        private void NganhNgheKinhDoanh_Load(object sender, EventArgs e)
        {
            NNKDoanh = new NganhNgheKinhDoanhDTO();
            nganhNgheKinhDoanhSua = new NganhNgheKinhDoanhDTO();

            labTenCongTy.Text = congTy.TenCongTy;

            LayDanhSachNganhNgheKinhDoanhMoi();
        }

        #region "Lấy danh sách mới"

        void LayDanhSachNganhNgheKinhDoanhMoi()
        {
            //Làm mới 2 đối tượng ngành nghề kinh doanh Sửa
            NNKDoanh = new NganhNgheKinhDoanhDTO();
            nganhNgheKinhDoanhSua = new NganhNgheKinhDoanhDTO();


            dSachNNKDoanh = new List<NganhNgheKinhDoanhDTO>(wsDAL.GetDanhSachNganhNgheKinhDoanhTheoMaCongTy(congTy.IDCongTy));
            dtgvDSNganhNgheKinhDoanh.DataSource = dSachNNKDoanh;
        }

        #endregion


        #region "Làm rỗng thông tin"

        private void LamTrangThongTinNganhNgheKinhDoanh()
        {
            txtHienThiMaNganhNgheKinhDoanh.Text = "";
            txtHienThiTenNganhNgheKinhDoanh.Text = "";
        }

        #endregion


        #region "Thể hiện thông tin"

        void TheHienThongTinNganhNgheKinhDoanh()
        {
            //Thể hiện thông tin ngành nghề kinh doanh khi cell click từ dtgvDSNganhNgheKinhDoanh
            txtHienThiMaNganhNgheKinhDoanh.Text = NNKDoanh.IDNganhNgheKinhDoanh.ToString();
            txtHienThiTenNganhNgheKinhDoanh.Text = NNKDoanh.TenNganhNgheKinhDoanh;
        }

        #endregion


        #region "Kiểm tra"
        private string kiemTra()
        {
            string error = "";
            bool hopLe = true;

            hopLe = this.txtThemMaNganhNgheKinhDoanh.Text != "";
            if (!hopLe)
            {
                error += "Mã ngành nghề kinh doanh là bắt buộc nhập .\n ";
            }
            hopLe = this.txtThemTenNganhNgheKinhDoanh.Text != "";
            if (!hopLe)
            {
                error += "Tên ngành nghề kinh doanh không được để trống . ";
            }

            return error;
        }

        #endregion


        #region "Thêm"


        private void btnThem_Click(object sender, EventArgs e)
        {
            string error = kiemTra();
            if (error == "")
            {
                string themtennnkd = this.txtThemTenNganhNgheKinhDoanh.Text;
                int themmannkd = int.Parse(this.txtThemMaNganhNgheKinhDoanh.Text);


                int macty = congTy.IDCongTy;
                NNKDoanh = new NganhNgheKinhDoanhDTO();
                NNKDoanh.TenNganhNgheKinhDoanh = themtennnkd;
                NNKDoanh.IDNganhNgheKinhDoanh = themmannkd;

                NNKDoanh.MaCongTy = macty;

                wsDAL.ThemNganhNgheKinhDoanh(NNKDoanh);
                MessageBox.Show("Thêm ngành nghề kinh doanh thành công !", "Thông Báo !", MessageBoxButtons.OK, MessageBoxIcon.Information);
                LayDanhSachNganhNgheKinhDoanhMoi();
            }
            else
            {
                MessageBox.Show(error, "Báo lỗi !", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }


        #endregion


        #region "CellClick"

        private void dtgvDSNganhNgheKinhDoanh_CellClick(object sender, DataGridViewCellEventArgs e)
        {

            //Lấy đối tượng chi nhánh từ Danh sách ngành nghề kinh doanh theo vị trí từ bảng danh sách ngành nghề kinh doanh
            if (e.RowIndex < 0)
                return;
            NNKDoanh = (NganhNgheKinhDoanhDTO)dSachNNKDoanh[e.RowIndex];
            TheHienThongTinNganhNgheKinhDoanh();

            btnXoa.Enabled = true;
        }


        #endregion


        #region "Hoàn tác"

        private void btnHoanTac_Click(object sender, EventArgs e)
        {
            //Gọi lại đối tượng ngành nghề kinh doanh chưa bị thay đổi
            TheHienThongTinNganhNgheKinhDoanh();
        }


        #endregion


        #region "Cập nhật chỉnh sửa"


        private void btnCapNhat_Click(object sender, EventArgs e)
        {
            //Cập nhật thông tin ngành nghề kinh doanh mới
            nganhNgheKinhDoanhSua.IDNganhNgheKinhDoanh = NNKDoanh.IDNganhNgheKinhDoanh;
            nganhNgheKinhDoanhSua.MaCongTy = NNKDoanh.MaCongTy;
            nganhNgheKinhDoanhSua.TenNganhNgheKinhDoanh = NNKDoanh.TenNganhNgheKinhDoanh;

            wsDAL.SuaNganhNgheKinhDoanh(nganhNgheKinhDoanhSua);

            MessageBox.Show("Thông tin ngành nghề kinh doanh đã được cập nhật mới");
            //Làm rỗng các thể hiện thông tin ngành nghề kinh doanh sao khi sửa thành công
            LamTrangThongTinNganhNgheKinhDoanh();

            //Làm mới lại danh sách ngành nghề kinh doanh sao khi Sửa thành công
            LayDanhSachNganhNgheKinhDoanhMoi();

            btnHoanTac.Enabled = false;
            btnCapNhat.Enabled = false;
            btnXoa.Enabled = false;
        }

        #endregion


        #region "Thể hiện thay đổi Button Cập Nhật, Button Về Đầu"

        //Thể hiện thay đổi Button Cập Nhật, Button Về Đầu
        void TheHienThayDoiNganhNgheKinhDoanh(bool thayDoi)
        {
            if (thayDoi == true)
            {
                btnHoanTac.Enabled = false;
                btnCapNhat.Enabled = false;
            }
            else
            {
                btnHoanTac.Enabled = true;
                btnCapNhat.Enabled = true;
            }
        }

        #endregion


        #region "Xóa"

        private void btnXoa_Click(object sender, EventArgs e)
        {
            nganhNgheKinhDoanhSua.IDNganhNgheKinhDoanh = NNKDoanh.IDNganhNgheKinhDoanh;
            nganhNgheKinhDoanhSua.MaCongTy = NNKDoanh.MaCongTy;
            nganhNgheKinhDoanhSua.TenNganhNgheKinhDoanh = NNKDoanh.TenNganhNgheKinhDoanh;

            wsDAL.XoaNganhNgheKinhDoanh(nganhNgheKinhDoanhSua);
            MessageBox.Show("Đã xóa ngành nghề kinh doanh thành công");

            //Làm rỗng các thể hiện thông tin ngành nghề kinh doanh sao khi sửa thành công
            LamTrangThongTinNganhNgheKinhDoanh();

            //Làm mới lại danh sách ngành nghề kinh doanh sao khi Sửa thành công
            LayDanhSachNganhNgheKinhDoanhMoi();

            btnHoanTac.Enabled = false;
            btnCapNhat.Enabled = false;
            btnXoa.Enabled = false;
        }



        #endregion


        #region "Sự kiện Gõ từ bàn phím - Kiểm tra ký tự nhập vào từ bàn phím"
        /*
      * Sự kiện Gõ từ bàn phím
      * Kiểm tra ký tự nhập vào từ bàn phím
      */

        private void txtHienThiMaNganhNgheKinhDoanh_KeyPress(object sender, KeyPressEventArgs e)
        {
            //Nếu là ký tự chữ và không phải là ký tự backspace thì khóa phím
            if (char.IsLetter(e.KeyChar) == true && e.KeyChar != (char)127)
                e.Handled = true;
        }

        private void txtThemMaNganhNgheKinhDoanh_KeyPress(object sender, KeyPressEventArgs e)
        {
            //Nếu là ký tự chữ và không phải là ký tự backspace thì khóa phím
            if (char.IsLetter(e.KeyChar) == true && e.KeyChar != (char)127)
                e.Handled = true;
        }

        #endregion


        #region "Sự kiện TextChanged"

        private void txtHienThiTenNganhNgheKinhDoanh_TextChanged(object sender, EventArgs e)
        {
            nganhNgheKinhDoanhSua.TenNganhNgheKinhDoanh = txtHienThiTenNganhNgheKinhDoanh.Text;
            TheHienThayDoiNganhNgheKinhDoanh(nganhNgheKinhDoanhSua.TenNganhNgheKinhDoanh.Equals(NNKDoanh.TenNganhNgheKinhDoanh));
        }

        private void txtHienThiMaNganhNgheKinhDoanh_TextChanged(object sender, EventArgs e)
        {
            nganhNgheKinhDoanhSua.IDNganhNgheKinhDoanh = int.Parse(txtHienThiMaNganhNgheKinhDoanh.Text);
            TheHienThayDoiNganhNgheKinhDoanh(nganhNgheKinhDoanhSua.IDNganhNgheKinhDoanh.Equals(NNKDoanh.IDNganhNgheKinhDoanh));
        }


        #endregion

        private void tabControl1_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (tabControl1.SelectedIndex == 0)
                MessageBox.Show("Bạn đang chọn tabpage 1");
            if (tabControl1.SelectedIndex == 1)
                MessageBox.Show("Bạn đang chọn tabpage 2");
        }

   
    }
}
